Modelo de Regressão Linear Simples

Aplicações em Finanças

Autor

Seu Nome

1 Razão Ótima de Hedge

Neste exemplo de Brooks (2019), um investidor deseja proteger uma posição longa no índice S&P500 (ou suas ações constituintes) usando uma posição curta em contratos futuros. O investidor está interessado na razão ótima de hedge, ou seja, o número de unidades do ativo futuro a serem vendidas por unidade dos ativos à vista mantidos.

Neste tipo de aplicação, estamos geralmente mais interessados na qualidade do ajuste do modelo aos dados, isto é, em sua capacidade explicativa da variável resposta \(y\) e nas estimativas de determinados parâmetros que tem um significado específico determinado pela teoria subjacente, no caso, estamos interessados na estimativa da razão ótima de hedge por \(\hat{\beta}_1\).

Executaremos nossa análise com base nos retornos do índice S&P (500) em vez dos níveis de preços.

1.1 Análise Exploratória dos Dados

           vars   n    mean     sd  median trimmed    mad    min     max
Date          1 246     NaN     NA      NA     NaN     NA    Inf    -Inf
Spot          2 246 1425.02 441.39 1302.83 1374.03 290.06 735.09 2823.81
Futures       3 246 1425.55 440.66 1304.38 1374.69 290.03 734.25 2825.75
ret_spot      4 246    0.42   4.33    0.92    0.70   3.85 -18.56   10.23
ret_futuro    5 246    0.41   4.42    1.00    0.70   3.90 -18.94   10.39
             range  skew kurtosis    se
Date          -Inf    NA       NA    NA
Spot       2088.72  1.09     0.46 28.14
Futures    2091.50  1.10     0.50 28.10
ret_spot     28.79 -0.84     1.73  0.28
ret_futuro   29.33 -0.88     2.02  0.28

Analisando as estatística descritivas, é possível verificar que as duas séries de retornos são muito similares, conforme os retornos médios, medianos, desvio-padrão, máximos e mínimos, o que é esperado.

O gráfico de dispersão entre os retornos à vista e futuros do índice S&P (500) indica uma forte correlação linear positiva entre as duas séries (\(r = 0.99\)), conforme podemos verificar pela baixa dispersão (variabilidade) dos dados no gráfico. Essa forte correlação e o padrão linear observado no gráfico de dispersão, indicam que um modelo de regressão linear pode ser adequado para modelar a relação entre as séries de retornos.

1.2 Estimação da Razão Ótima de Hedge


Call:
lm(formula = ret_spot ~ ret_futuro, data = dados_hedge_clean)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.45284 -0.16401  0.00236  0.23692  2.33789 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 0.013077   0.029473   0.444    0.658    
ret_futuro  0.975077   0.006654 146.543   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.4602 on 244 degrees of freedom
Multiple R-squared:  0.9888,    Adjusted R-squared:  0.9887 
F-statistic: 2.147e+04 on 1 and 244 DF,  p-value: < 2.2e-16

As estimativas pontuais do intercepto (\(\hat{\beta}_0\)) e da inclinação (\(\hat{\beta}_1\)) foram iguais a 0.01, 0.98, respectivamente.

O valor-p muito pequeno do teste t da \(H0: \beta_1 = 0\) indica que os dados fornecem fortes evidências para rejeitar a hipótese nula de que a estimativa do parâmetro seja igual a zero. Por sua vez, o valor-p elevado do teste t de \(H0: \beta_0 = 0\) sugere que os dados fornecem fortes evidências para não rejeitar a hipótese nula de que o intercepto seja igual a zero.

O \(R^2\) ajustado de 0.99 indica que os retornos futuros do índice S&P (500) explicam 99% da variação dos retornos à vista do índice.

Uma estimativa pontual da razão ótima de hedge igual a 0.98 sugere que o investidor não está cobrindo 100% de sua exposição no índice S&P500, mas está muito próximo disso. Se o investidor tivesse uma razão de hedge de 1,00, isso significaria que ele está completamente protegido contra as flutuações adversas de preço no índice. Como a razão é ligeiramente menor que 1, o investidor está aceitando um pequeno grau de risco residual. Na prática, isso significa que, se o investidor possui uma posição longa em, por exemplo, $1.000.000 no índice S&P500, ele deveria assumir uma posição curta em contratos futuros equivalente a $980.000.

Entretanto, como sempre, é importante obtermos uma estimativa por intervalo de confiança para o parâmetro de interesse, de forma a incorporarmos a incerteza associada à estimativa pontual.

                  2.5 %    97.5 %
(Intercept) -0.04497645 0.0711311
ret_futuro   0.96197076 0.9881834

A estimativa por intervalo de confiança de 95% para a razão ótima de hedge de [0.96, 0.99], implica que o investidor deve proteger entre 96% e 99% de sua posição longa no S&P500 com uma posição curta em contratos futuros. O intervalo estreito sugere alta confiança na estimativa da razão ótima de hedge, oferecendo flexibilidade na escolha da razão de hedge dentro desse intervalo, com um risco residual mínimo.

1.3 Regressão com o Nível das Séries

Seguindo Brooks (2019), vamos estimar uma regressão para os níveis das séries em vez dos retornos, ou seja, vamos realizar uma regressão entre Spot e Futures:


Call:
lm(formula = Spot ~ Futures, data = dados_hedge_clean)

Residuals:
    Min      1Q  Median      3Q     Max 
-64.529  -1.981   1.412   4.289  16.580 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) -2.730289   1.495011  -1.826    0.069 .  
Futures      1.001548   0.001002 999.419   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 6.912 on 244 degrees of freedom
Multiple R-squared:  0.9998,    Adjusted R-squared:  0.9998 
F-statistic: 9.988e+05 on 1 and 244 DF,  p-value: < 2.2e-16

As estimativas pontuais do intercepto (\(\hat{\beta}_0\)) e da inclinação (\(\hat{\beta}_1\)) foram iguais a -2.73, 1, respectivamente.

1.4 Interpretação dos Resultados

Vamos agora passar para a interpretação (econômica) das estimativas dos parâmetros de ambas as regressões.

Como sabemos, o parâmetro da inclinação da regressão estimada dos retornos mede a razão de hedge ótima, assim como a relação de curto prazo entre as duas séries, ou seja, como os retornos do preço futuro e do preço spot se movem juntos no curto prazo.

Em contraste, o parâmetro de inclinação em uma regressão usando os índices spot e futuros brutos (ou o logaritmo da série spot e o logaritmo da série de futuros) pode ser interpretado como uma medida da relação de longo prazo entre eles. Esse resultado é esperado, pois em um mercado eficiente, à medida que o contrato futuro se aproxima da data de vencimento, o preço futuro deve convergir para o preço spot

O intercepto da regressão do nível de preços pode ser considerado uma aproximação do custo de carregamento. O custo de carregamento inclui todos os custos associados à manutenção de uma posição em um ativo ao longo do tempo, como custos de armazenamento, seguro, e custos financeiros.

Analisando os resultados efetivos, verificamos que a relação de longo prazo entre os preços spot e futuros é quase de 1:1, como esperado. Essa proporção de 1:1 indica que, no longo prazo, as variações nos preços spot e futuros são praticamente equivalentes, o que é consistente com as teoria econômica da eficiência dos mercados, incluindo o mercado futuro.

1.5 Hedging Revisitado

Como vimos anteriormente, podemos testar outras hipóteses sobre as estimativas dos parâmetros de um modelo de regressão linear. Suponha que desejamos testar a hipótese nula de que \(H_0 : \beta = 1\).

Podemos, claro, calcular as estatísticas de teste para essa hipótese manualmente; no entanto, é mais fácil deixar uma função fazer esse trabalho. O pacote car contém a função linearHypothesis(), que pode realizar essa tarefa.

Como argumentos, linearHypothesis pede um modelo, enquanto o segundo argumento é um vetor de restrições que pode ser escrito diretamente usando os nomes das variáveis. Como queremos especificar \(\beta = 1\), fazemos:

Linear hypothesis test

Hypothesis:
ret_futuro = 1

Model 1: restricted model
Model 2: ret_spot ~ ret_futuro

  Res.Df    RSS Df Sum of Sq     F    Pr(>F)    
1    245 54.656                                 
2    244 51.684  1    2.9718 14.03 0.0002246 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

As primeiras linhas listam os modelos que estão sendo comparados: o modelo restrito 1, onde \(\beta = 1\), e o modelo original rspot ~ rfutures. Abaixo, encontramos a estatística do teste F, sendo 14,03 seu o valor. O valor-p correspondente é 0,0002246, conforme indicado na última coluna. Como este valor é consideravelmente menor que 0,01, podemos rejeitar a hipótese nula (\(H_0 : \beta = 1\)) ao nível de significância de 1%.

Observe que obtemos o mesmo resultado ao obter e analisar as estimativas por intervalo de confiança para \(\beta_1\), pois o intervalo de confiança estimado para \(\beta_1\) não inclui 1. Entretanto, a estimativa por intervalo de confiança é mais informativa, pois fornece uma faixa de valores possíveis para o parâmetro de interesse, em vez de apenas uma decisão.

Também podemos realizar testes de hipóteses nas regressões com os níveis:

Linear hypothesis test

Hypothesis:
Futures = 1

Model 1: restricted model
Model 2: Spot ~ Futures

  Res.Df   RSS Df Sum of Sq     F Pr(>F)
1    245 11772                          
2    244 11658  1    113.99 2.386 0.1237

Com uma estatística F igual 2,58 e um valor-p correspondente de 0,1092, podemos concluir que a hipótese nula não é rejeitada no nível de significância de 5%, ou seja, os dados fornecem evidências para não rejeitar a hipótese nula de que \(\beta_1\) na regressão com os níveis do índice seja igual a 1, conforme previsto pela hipótese de convergência dos preços spot e futuros no longo prazo.

2 Estimação do CAPM

2.1 Análise Exploratória dos Dados

                 vars   n    mean     sd  median trimmed    mad    min     max
Date                1 193     NaN     NA      NA     NaN     NA    Inf    -Inf
SANDP               2 193 1470.65 473.12 1326.41 1426.26 354.50 729.57 2816.45
FORD                3 193   11.41   3.55   11.74   11.59   4.23   1.87   17.65
GE                  4 193   26.54   7.36   26.89   26.73   8.85   8.51   41.40
MICROSOFT           5 193   34.77  15.08   28.32   31.84   4.69  16.15   95.01
ORACLE              6 193   26.02  12.05   22.84   25.38  14.93   7.86   51.59
USTB3M              7 193    1.24   1.57    0.45    0.94   0.64   0.01    5.16
ret_sp500           8 193    0.45   4.13    1.10    0.76   3.27 -18.38   10.07
ret_ford            9 193   -0.19  13.44   -1.06   -0.58   8.33 -86.48   82.14
ret_ge             10 193   -0.50   7.75   -0.43   -0.19   6.26 -35.44   22.41
ret_microsoft      11 193    0.56   6.76    1.27    0.65   6.17 -18.11   22.27
ret_oracle         12 193    0.56   7.81    1.08    0.76   7.13 -26.12   25.96
ustb3m             13 193    0.10   0.13    0.04    0.08   0.05   0.00    0.43
retexc_sp500       14 193    0.35   4.13    0.95    0.64   3.23 -18.44   10.06
retexc_ford        15 193   -0.29  13.45   -1.06   -0.69   8.22 -86.53   82.13
retexc_ge          16 193   -0.60   7.75   -0.44   -0.30   6.19 -35.47   22.40
retexc_microsoft   17 193    0.46   6.77    1.26    0.54   6.09 -18.29   21.94
retexc_oracle      18 193    0.45   7.81    1.08    0.66   7.25 -26.27   25.83
                   range  skew kurtosis    se
Date                -Inf    NA       NA    NA
SANDP            2086.88  0.83    -0.24 34.06
FORD               15.78 -0.45    -0.30  0.26
GE                 32.89 -0.24    -0.87  0.53
MICROSOFT          78.86  1.87     3.18  1.09
ORACLE             43.73  0.31    -1.17  0.87
USTB3M              5.15  1.33     0.50  0.11
ret_sp500          28.45 -0.95     2.32  0.30
ret_ford          168.62  0.05    14.66  0.97
ret_ge             57.86 -0.77     2.95  0.56
ret_microsoft      40.38 -0.05     0.65  0.49
ret_oracle         52.08 -0.35     1.22  0.56
ustb3m              0.43  1.33     0.50  0.01
retexc_sp500       28.51 -0.92     2.28  0.30
retexc_ford       168.66  0.05    14.62  0.97
retexc_ge          57.87 -0.75     2.92  0.56
retexc_microsoft   40.23 -0.05     0.63  0.49
retexc_oracle      52.10 -0.35     1.24  0.56

Analisando as estatística descritivas, é possível verificar que as séries de retornos excedentes do índice S&P (500) e da Ford apresentam características substancialmente diferentes, conforme os estatística reportadas.

O coeficiente de correlação de Pearson supõe que as series seguem aproximadamente uma distribuição normal. Entretanto, como as séries apresentam assimetria e curtose consideráveis, o coeficiente de correlação de Spearman pode ser mais apropriado.

[1] 0.5323517

A estimativa pontual do coeficiente de correlação de Spearman entre as séries de retornos excedentes da Ford e do índice S&P (500) foi igual a 0.53 indicando ainda uma correlação linear positiva considerável, mas não tão elevada, entre as duas séries.

O gráfico de dispersão entre os retornos excedentes da Ford e do S&P (500) indica alguma correlação linear positiva , entre as duas séries (\(r = 0.58\)), entretanto, o gráfico indica a presença de outliers, que podem distorcer as estimativas dos coeficientes de correlação.

Portanto, a análise exploratória dos dados fornece evidências de que o modelo de regressão linear simples que será utilizado para estimar o CAPM pode não ser o mais adequado para modelar a relação entre os retornos excedentes da Ford e do índice S&P (500) e, portanto, para estimar o beta da Ford.

2.2 Estimação do CAPM

Para o caso da Ford, o modelo de regressão linear simples pode ser representado por:

\[ (R_{ford} - r_f)_t = \alpha + \beta (R_M - r_f)_t + u_t \] sendo:

  • \(R_{ford}\) o retorno da Ford.
  • \(R_f\) a taxa livre de risco.
  • \(\alpha_i\) o alpha de Jensen.
  • \(\beta_i\) a sensibilidade do retorno da Ford em relação ao mercado (beta).
  • \(R_m\) o retorno da carteira de mercado.
  • \(u_i\) o termo de erro.

Portanto, utilizando os dados disponíveis, podemos estimar o beta da Ford com:


Call:
lm(formula = retexc_ford ~ retexc_sp500, data = dados_capm_clean)

Residuals:
    Min      1Q  Median      3Q     Max 
-50.727  -5.027  -1.080   3.482  65.145 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept)   -0.9560     0.7931  -1.205     0.23    
retexc_sp500   1.8898     0.1916   9.862   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 10.98 on 191 degrees of freedom
Multiple R-squared:  0.3374,    Adjusted R-squared:  0.3339 
F-statistic: 97.26 on 1 and 191 DF,  p-value: < 2.2e-16

As estimativas pontuais do \(\alpha\) de Jensen e do beta do CAPM foram iguais a -0.96, 1.89, respectivamente. O \(R^2\) ajustado de 0.33 indica que os retornos excedentes do índice S&P (500) explicam 33% da variação dos retornos das ações da Ford, evidenciando que o modelo de regressão linear simples não é capaz de explicar uma parte substancial da variação dos retornos excedentes da Ford.

2.3 Interpretação do \(\alpha\) de Jensen

  • \(\alpha > 0\): Indica que as ações da Ford estão gerando retornos acima do que seria esperado com base no seu risco sistemático em relação ao mercado. Isso significa que, após ajustar pelos riscos, as ações estão oferecendo um desempenho superior ao previsto pelo CAPM, sugerindo que a Ford está criando valor adicional para os investidores além do que seria justificado pelo nível de risco assumido.

  • \(\alpha = 0\): Indica que as ações da Ford estão entregando retornos que correspondem exatamente ao nível de risco sistemático previsto pelo CAPM. Neste caso, o desempenho da Ford está em linha com as expectativas do mercado, e não há retorno adicional (nem inferior) além do que seria justificado pelo risco assumido.

  • \(\alpha < 0\): Indica que as ações da Ford estão gerando retornos abaixo do que seria esperado com base no seu risco sistemático. Isso sugere que, após ajustar pelos riscos, as ações estão subperformando em relação ao que o CAPM prevê, o que pode indicar que a Ford não está gerando valor suficiente para compensar o risco que os investidores estão assumindo.

Portanto, o alpha (\(\alpha\)) de Jensen mede o retorno anômalo, ou seja, o quanto a Ford está gerando além ou aquém do esperado ajustado ao risco

Para interpretar o \(\alpha\) de Jensen estimado para a Ford, podemos observar a estimativa por intervalo de confiança para o parâmetro de interesse, de forma a incorporarmos a incerteza associada à estimativa pontual.

                 2.5 %    97.5 %
(Intercept)  -2.520315 0.6083457
retexc_sp500  1.511791 2.2677195

Como zero está dentro do intervalo de confiança estimado para o \(\alpha\) de Jensen, não podemos rejeitar a hipótese nula de que o \(\alpha\) de Jensen é igual a zero ao nível de significância de 5%. Portanto, os dados fornecem evidência de que as ações da Ford não parecem superar ou ficar significativamente abaixo do desempenho do mercado como um todo.

2.4 Interpretação do Beta do CAPM

O beta (\(\beta\)) do CAPM mede a sensibilidade do retorno das ações da Ford em relação aos retornos do mercado como um todo. Especificamente, ele quantifica o risco sistemático, ou seja, o risco que não pode ser diversificado, e reflete como o retorno da Ford tende a se mover em resposta às variações no retorno do mercado.

  • \(\beta = 1\): Indica que as ações da Ford têm um comportamento em linha com o mercado. Se o mercado subir ou descer, espera-se que as ações da Ford subam ou desçam na mesma proporção. Isso significa que a Ford apresenta o mesmo nível de risco sistemático que o mercado como um todo.

  • \(\beta > 1\): Indica que as ações da Ford são mais voláteis do que o mercado. Se o mercado subir 1%, espera-se que as ações da Ford subam mais de 1%, e se o mercado cair 1%, espera-se que as ações da Ford caiam mais de 1%. Isso sugere que a Ford está assumindo um risco sistemático maior do que o mercado, o que pode resultar em retornos potencialmente mais altos em mercados em alta, mas também em perdas maiores em mercados em baixa.

  • \(\beta < 1\): Indica que as ações da Ford são menos voláteis do que o mercado. Se o mercado subir 1%, espera-se que as ações da Ford subam menos de 1%, e se o mercado cair 1%, espera-se que as ações da Ford caiam menos de 1%. Isso sugere que a Ford está assumindo um risco sistemático menor do que o mercado, resultando em uma menor sensibilidade às variações do mercado.

  • \(\beta < 0\): Embora raro, um beta negativo indicaria que as ações da Ford tendem a se mover na direção oposta ao mercado. Se o mercado sobe, espera-se que as ações da Ford caiam, e vice-versa. Isso indicaria que a Ford tem um comportamento contrário ao mercado, atuando possivelmente como uma proteção em um portfólio diversificado.

Conforme o resultado anterior, a estimativa por intervalo de confiança de 95% para o beta do CAPM foi [1.51, 2.27]. Assim, temos 95% de confiança de que o beta da Ford é maior que 1, indicando que as ações da Ford são mais voláteis do que o mercado, assumindo um risco sistemático maior do que o mercado como um todo. Isso sugere que a Ford pode apresentar retornos potencialmente mais altos em mercados em alta, mas também perdas maiores em mercados em baixa, em comparação com o mercado como um todo.

2.5 Testes de Hipóteses

Assuma que queremos testar a hipótese nula de que o valor do parâmetro populacional \(\beta\) seja igual a 1. Como podemos realizar esse teste? Novamente, podemos realizar um teste F usando a função linearHypothesis() do pacote car:

O teste F para a hipótese nula de que \(\beta = 1\) resultou em uma estatística F de 21.56 e um valor-p muito pequeno , muito abaixo dos níveis de significância usuais Portanto, os dados fornecem evidências para rejeitar a hipótese nula de que o beta da Ford é igual a 1, sugerindo que as ações da Ford são mais voláteis do que o mercado, assumindo um risco sistemático maior do que o mercado como um todo.

Novamente, repare que obtemos o mesmo resultado ao obter e analisar as estimativas por intervalo de confiança para \(\beta\), pois o intervalo de confiança estimado para \(\beta\) envolver limites superiores a 1. Entretanto, a estimativa por intervalo de confiança é mais informativa, pois fornece um intervalo de valores possíveis para o parâmetro de interesse, em vez de apenas uma decisão.

2.6 Testes de Múltiplas Hipóteses

Suponha que desejamos realizar um teste conjunto em que tanto o alpha de Jensen quanto o beta do CAPM sejam, simultaneamente, iguais a um. Podemos realizar esse teste usando a função linearHypothesis() do pacote car:

Na saída, R produz o resultado familiar para o teste F. No entanto, observamos que o teste da hipótese conjunta é indicado pelas duas condições que são declaradas: (Intercept) = 1 e ersandp = 1. Ao analisar o valor da estatística F de 12.94 com um valor-p correspondente muito abaixo dos níveis de significância usuais, concluímos que os dados fornecem fortes evidências para rejeitar a hipótese nula, \(H_0 : \beta_1 = 1, \beta_2 = 1\), ao nível de significância de 1%.

3 Reportando os Resultados de Modelos de Regressão

3.1 Pacote modelsummary

O pacote modelsummary fornece uma maneira fácil de criar tabelas formatadas de modelos de regressão. A função modelsummary() aceita um ou mais modelos de regressão e retorna uma tabela formatada com os resultados da estimação dos modelos.

tinytable_8isgt5ixs1umb5oum8ns
(1)
(Intercept) -0.956
(0.793)
retexc_sp500 1.890
(0.192)
Num.Obs. 193
R2 0.337
R2 Adj. 0.334
AIC 1476.5
BIC 1486.3
Log.Lik. -735.261
F 97.258
RMSE 10.92

A tabela acima resume os resultados da estimação do modelo de regressão linear simples para as ações da Ford, incluindo as estimativas pontuais dos coeficientes, os erros padrão, os valores t, os valores-p e os intervalos de confiança de 95% para os coeficientes. A tabela também inclui o \(R^2\) ajustado do modelo, fornecendo uma medida da qualidade do ajuste do modelo aos dados.

Podemos personalizar a tabela de resumo do modelo para incluir apenas as estatísticas de interesse e uma nota de rodapé:

tinytable_jebjpcaaeb8k8my3164p
CAPM Ford
Fonte: Elaborada pelos autores.
(Intercept) -0.96
[-2.52, 0.61]
e.p. = 0.79
t = -1.21
p = 0.23
retexc_sp500 1.89
[1.51, 2.27]
e.p. = 0.19
t = 9.86
p = <0.01
Num.Obs. 193
R2 0.337
R2 Adj. 0.334
F 97.258

Alterando o nome do modelo e adicionando uma nota de rodapé à tabela,

tinytable_79r8vlnej2iu34jdfout
CAPM Ford
Fonte: Elaborada pelos autores.
(Intercept) -0.96
[-2.52, 0.61]
e.p. = 0.79
t = -1.21
p = 0.23
retexc_sp500 1.89
[1.51, 2.27]
e.p. = 0.19
t = 9.86
p = <0.01
Num.Obs. 193
R2 0.337
R2 Adj. 0.334
F 97.258

Alterando o nome dos parâmetros e adicionando uma nota de rodapé à tabela,

CAPM Ford
Alpha-0.96
[-2.52, 0.61]
e.p. = 0.79
t = -1.21
p = 0.23
Beta1.89
[1.51, 2.27]
e.p. = 0.19
t = 9.86
p = <0.01
Num.Obs.193
R20.337
R2 Adj.0.334
F97.258
Fonte: Elaborada pelos autores.

Referências

BROOKS, C. Introductory Econometrics For Finance. 4th. ed. [s.l.] Cambridge University Press, 2019.